package com.xingkeduo.model.po;

import java.math.BigDecimal;
import java.util.Date;

public class TMarketing {
    /** 主键*/
    private Long id;

    /** 类型 0 券，1 卡，2 券包*/
    private Integer marketingType;

    /** 服务类型 
优惠券
GENERAL_COUPON：优惠券， GIFT：兑换券， DISCOUNT：折扣券， CASH：代金券，  GROUPON：团购券 ，FIXED:一口价，FREE:免费券
FREQUENCY：服务次卡，*/
    private String serviceType;

    /** 优惠方式 0 立减，1 折扣，2 特价*/
    private Integer preferentialMode;

    /** 名称*/
    private String name;

    /** 副标题，字数上限为18个汉字。*/
    private String subTitle;

    /** 此优惠卷支持服务ids（0代表全部服务）*/
    private String supportServprodIds;

    /** 支持的卡/券ids （只适用用券包）*/
    private String supportMarketingIds;

    /** 券包类型 （只适用用券包）1、口碑 2、新美大 3、招行 4、金色世纪 5、京东 6 天猫 7 自有优惠包 8 其他*/
    private Integer couponBagType;

    /** 第三方业务id（只适用用券包）*/
    private String thirdBizId;

    /** 是否开启兑换码兑换 （只适用用券包）*/
    private Integer isOpenConvert;

    /** 券面额*/
    private BigDecimal couponAmount;

    /** 使用门槛,如果无起用门槛则填0。示例值:0*/
    private BigDecimal leastCost;

    /** 领取范围 (0 全部用户，1 星客多新用户，2 门店新用户)*/
    private Integer receiveType;

    /** 初始券库存*/
    private Integer stockQuantity;

    /** 当前库存*/
    private Integer surplusQuantity;

    /** 领取开始时间*/
    private Date receiveStartTime;

    /** 领取结束时间*/
    private Date receiveEndTime;

    /** 每人每天可领券的数量限制,不填写默认为0。*/
    private Integer getLimitDay;

    /** 每人累计可领券的数量限制,不填写默认为0。*/
    private Integer getLimitTotal;

    /** 此优惠卷使用门店ids（0代表全部店铺）*/
    private String storeIds;

    /** 此优惠卷使用门店名称*/
    private String storeNames;

    /** 使用类型，0 相对时间，1 固定时间 （如 0:以用户实际领取时间计算,1:则券使用截止时间以券开始时间use_start_time计算，）*/
    private Integer useType;

    /** 使用开始时间（0 无使用开始时间限制）*/
    private Date useStartTime;

    /** 使用截止日期*/
    private Date useEndTime;

    /** 使用截止周期 单位：天*/
    private Integer usePeriod;

    /** 每人每天使用次数，0无限制*/
    private Integer useLimitDay;

    /** 每人累计使用次数，0无限制*/
    private Integer useLimitTotal;

    /** 优惠时间段:代表所有的星期的id（0周日，1周一，2周二，3周三，4周四，5周五，6周六）
代表每天的小时数字

示例： [{
	     “week”:”1,2”,
     	     “hour”:[{
			  “time_start”: “09”,
			  “time_end”:”12”
			 }…]
	   }…]*/
    private String weekHourIds;

    /** 优惠承担类型（0 按比例承担，1 按固定金额承担）*/
    private Integer preferentialUndertakeType;

    /** 门店承担金额（配合优惠承担类型使用 ）单位分：如果是比例需要转换成具体金额*/
    private BigDecimal storePreferentialUndertake;

    /** 总部承担金额 （配合优惠承担类型使用 ）单位分：如果是比例需要转换成具体金额*/
    private BigDecimal headquartersPreferentialUndertake;

    /** 成本归属方（部门）*/
    private Long departmentPostId;

    /** 部门名称*/
    private String departmentPostName;

    /** 内部说明（申请原因）*/
    private String applyMemo;

    /** 退款类型 （0 退款退券，1 退款不退券）*/
    private Integer refundType;

    /** 卡卷状态--0.初始 1.已上架 2.已下架*/
    private Integer status;

    /** 申请建券人id*/
    private Long applicantId;

    /** 申请人名称*/
    private String applicantName;

    /** 创建卡券用户id*/
    private Long createBy;

    /** 卡券-创建时间*/
    private Date createTime;
    
    /** 创建活动用户id*/
    private Long updateBy;

    /** 卡卷--修改更新时间*/
    private Date updateTime;

    private String freeCardRemark;
    
    /** 三方核销门店*/
    private String thirdStoreIds;

    /** 三方核销门店*/
    private String thirdStoreNames;
    
    /** banner链接图片*/
    private String bannerUrl;
    
    /** 是否启用售卖0不启用，1启用*/
    private Integer sellEnable;

    /** 售卖价格*/
    private BigDecimal sellPrice;

    /** 售卖门店*/
    private String sellStoreIds;
    
    public String getFreeCardRemark() {
		return freeCardRemark;
	}

	public void setFreeCardRemark(String freeCardRemark) {
		this.freeCardRemark = freeCardRemark;
	}

	public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Integer getMarketingType() {
        return marketingType;
    }

    public void setMarketingType(Integer marketingType) {
        this.marketingType = marketingType;
    }

    public String getServiceType() {
        return serviceType;
    }

    public void setServiceType(String serviceType) {
        this.serviceType = serviceType == null ? null : serviceType.trim();
    }

    public Integer getPreferentialMode() {
        return preferentialMode;
    }

    public void setPreferentialMode(Integer preferentialMode) {
        this.preferentialMode = preferentialMode;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    public String getSubTitle() {
        return subTitle;
    }

    public void setSubTitle(String subTitle) {
        this.subTitle = subTitle == null ? null : subTitle.trim();
    }

    public String getSupportServprodIds() {
        return supportServprodIds;
    }

    public void setSupportServprodIds(String supportServprodIds) {
        this.supportServprodIds = supportServprodIds == null ? null : supportServprodIds.trim();
    }

    public String getSupportMarketingIds() {
        return supportMarketingIds;
    }

    public void setSupportMarketingIds(String supportMarketingIds) {
        this.supportMarketingIds = supportMarketingIds == null ? null : supportMarketingIds.trim();
    }

    public Integer getCouponBagType() {
        return couponBagType;
    }

    public void setCouponBagType(Integer couponBagType) {
        this.couponBagType = couponBagType;
    }

    public String getThirdBizId() {
        return thirdBizId;
    }

    public void setThirdBizId(String thirdBizId) {
        this.thirdBizId = thirdBizId == null ? null : thirdBizId.trim();
    }

    public Integer getIsOpenConvert() {
        return isOpenConvert;
    }

    public void setIsOpenConvert(Integer isOpenConvert) {
        this.isOpenConvert = isOpenConvert;
    }

    public BigDecimal getCouponAmount() {
        return couponAmount;
    }

    public void setCouponAmount(BigDecimal couponAmount) {
        this.couponAmount = couponAmount;
    }

    public BigDecimal getLeastCost() {
        return leastCost;
    }

    public void setLeastCost(BigDecimal leastCost) {
        this.leastCost = leastCost;
    }

    public Integer getReceiveType() {
        return receiveType;
    }

    public void setReceiveType(Integer receiveType) {
        this.receiveType = receiveType;
    }

    public Integer getStockQuantity() {
        return stockQuantity;
    }

    public void setStockQuantity(Integer stockQuantity) {
        this.stockQuantity = stockQuantity;
    }

    public Integer getSurplusQuantity() {
        return surplusQuantity;
    }

    public void setSurplusQuantity(Integer surplusQuantity) {
        this.surplusQuantity = surplusQuantity;
    }

    public Date getReceiveStartTime() {
        return receiveStartTime;
    }

    public void setReceiveStartTime(Date receiveStartTime) {
        this.receiveStartTime = receiveStartTime;
    }

    public Date getReceiveEndTime() {
        return receiveEndTime;
    }

    public void setReceiveEndTime(Date receiveEndTime) {
        this.receiveEndTime = receiveEndTime;
    }

    public Integer getGetLimitDay() {
        return getLimitDay;
    }

    public void setGetLimitDay(Integer getLimitDay) {
        this.getLimitDay = getLimitDay;
    }

    public Integer getGetLimitTotal() {
        return getLimitTotal;
    }

    public void setGetLimitTotal(Integer getLimitTotal) {
        this.getLimitTotal = getLimitTotal;
    }

    public String getStoreIds() {
        return storeIds;
    }

    public void setStoreIds(String storeIds) {
        this.storeIds = storeIds == null ? null : storeIds.trim();
    }

    public String getStoreNames() {
        return storeNames;
    }

    public void setStoreNames(String storeNames) {
        this.storeNames = storeNames == null ? null : storeNames.trim();
    }

    public Integer getUseType() {
        return useType;
    }

    public void setUseType(Integer useType) {
        this.useType = useType;
    }

    public Date getUseStartTime() {
        return useStartTime;
    }

    public void setUseStartTime(Date useStartTime) {
        this.useStartTime = useStartTime;
    }

    public Date getUseEndTime() {
        return useEndTime;
    }

    public void setUseEndTime(Date useEndTime) {
        this.useEndTime = useEndTime;
    }

    public Integer getUsePeriod() {
        return usePeriod;
    }

    public void setUsePeriod(Integer usePeriod) {
        this.usePeriod = usePeriod;
    }

    public Integer getUseLimitDay() {
        return useLimitDay;
    }

    public void setUseLimitDay(Integer useLimitDay) {
        this.useLimitDay = useLimitDay;
    }

    public Integer getUseLimitTotal() {
        return useLimitTotal;
    }

    public void setUseLimitTotal(Integer useLimitTotal) {
        this.useLimitTotal = useLimitTotal;
    }

    public String getWeekHourIds() {
        return weekHourIds;
    }

    public void setWeekHourIds(String weekHourIds) {
        this.weekHourIds = weekHourIds == null ? null : weekHourIds.trim();
    }

    public Integer getPreferentialUndertakeType() {
        return preferentialUndertakeType;
    }

    public void setPreferentialUndertakeType(Integer preferentialUndertakeType) {
        this.preferentialUndertakeType = preferentialUndertakeType;
    }

    public BigDecimal getStorePreferentialUndertake() {
        return storePreferentialUndertake;
    }

    public void setStorePreferentialUndertake(BigDecimal storePreferentialUndertake) {
        this.storePreferentialUndertake = storePreferentialUndertake;
    }

    public BigDecimal getHeadquartersPreferentialUndertake() {
        return headquartersPreferentialUndertake;
    }

    public void setHeadquartersPreferentialUndertake(BigDecimal headquartersPreferentialUndertake) {
        this.headquartersPreferentialUndertake = headquartersPreferentialUndertake;
    }

    public Long getDepartmentPostId() {
        return departmentPostId;
    }

    public void setDepartmentPostId(Long departmentPostId) {
        this.departmentPostId = departmentPostId;
    }

    public String getDepartmentPostName() {
        return departmentPostName;
    }

    public void setDepartmentPostName(String departmentPostName) {
        this.departmentPostName = departmentPostName == null ? null : departmentPostName.trim();
    }

    public String getApplyMemo() {
        return applyMemo;
    }

    public void setApplyMemo(String applyMemo) {
        this.applyMemo = applyMemo == null ? null : applyMemo.trim();
    }

    public Integer getRefundType() {
        return refundType;
    }

    public void setRefundType(Integer refundType) {
        this.refundType = refundType;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Long getApplicantId() {
        return applicantId;
    }

    public void setApplicantId(Long applicantId) {
        this.applicantId = applicantId;
    }

    public String getApplicantName() {
        return applicantName;
    }

    public void setApplicantName(String applicantName) {
        this.applicantName = applicantName == null ? null : applicantName.trim();
    }

    public Long getCreateBy() {
        return createBy;
    }

    public void setCreateBy(Long createBy) {
        this.createBy = createBy;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Long getUpdateBy() {
		return updateBy;
	}

	public void setUpdateBy(Long updateBy) {
		this.updateBy = updateBy;
	}

	public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

	public String getThirdStoreIds() {
		return thirdStoreIds;
	}

	public void setThirdStoreIds(String thirdStoreIds) {
		this.thirdStoreIds = thirdStoreIds;
	}

	public String getThirdStoreNames() {
		return thirdStoreNames;
	}

	public void setThirdStoreNames(String thirdStoreNames) {
		this.thirdStoreNames = thirdStoreNames;
	}

	public String getBannerUrl() {
		return bannerUrl;
	}

	public void setBannerUrl(String bannerUrl) {
		this.bannerUrl = bannerUrl;
	}

	public Integer getSellEnable() {
		return sellEnable;
	}

	public void setSellEnable(Integer sellEnable) {
		this.sellEnable = sellEnable;
	}

	public BigDecimal getSellPrice() {
		return sellPrice;
	}

	public void setSellPrice(BigDecimal sellPrice) {
		this.sellPrice = sellPrice;
	}

	public String getSellStoreIds() {
		return sellStoreIds;
	}

	public void setSellStoreIds(String sellStoreIds) {
		this.sellStoreIds = sellStoreIds;
	}
    
}